System for controlling operational sequences

ABSTRACT

A system for controlling operating sequences, in particular in a motor vehicle, is described. The system contains program modules for controlling the operating sequences, and the program modules themselves and/or the program modules in their totality are divided into a hardware-dependent portion and a hardware-independent portion, so that the hardware-dependent portion and the hardware-independe+nt portion exchange physical variables.

FIELD OF THE INVENTION

[0001] The present invention relates to a system for controllingoperating sequences, in particular in a motor vehicle.

BACKGROUND INFORMATION

[0002] Embedded software, e.g., in engine control units, is composed ofvarious program modules. Microcontrollers are used in the control unitsto execute the program modules. Input and output variables which arerecorded and output, respectively, by the microcontroller hardware arestored in the controller registers. In control units in known methodsheretofore, the hardware of the microcontroller was accessed directlyfrom the functional program parts. In the functional program parts, thecomputer variables in input signals are converted into physical values,(e.g., temperature in K) and then are processed further on a physicallevel. The physical results in output variables are converted intocomputer variables and written to the register.

[0003] Therefore, in switching to another controller, the functionalmodules must also be altered, i.e., adapted to the new hardware.

[0004] This shows that the related art is not capable of yieldingoptimum results in all regards, and therefore this situation is to beoptimized, and controller independence of the application software is tobe created.

SUMMARY OF THE INVENTION

[0005] The present invention is directed to a system for controllingoperating sequences, in particular in a motor vehicle, the systemcontaining program modules for controlling the operating sequences.

[0006] In an advantageous manner, the program modules themselves and/orthe program modules in their entirety are divided into ahardware-dependent portion and a hardware-independent portion, so thatthe hardware-dependent portion and the hardware-independent portionexchange physical variables.

[0007] In the new concept, the program modules are advantageouslydivided into a hardware-dependent portion (hardware encapsulation) and ahardware-independent portion (application software). In the hardwareencapsulation, services are expediently made available to theapplication software, these services accessing the hardware registersand reading out the values thus detected and/or downloading predefinedvalues. In order for the application software to be independent of thecontroller, physical values are transferred at the interface between thehardware encapsulation and the application software. In contrast withthe raw value, which is detected as a 10-bit value in one controller andas an 8-bit value in another controller, this is independent of thecontroller due to the physical values, e.g., temperature in K, detectedvia an analog-digital converter, for example.

[0008] Due to the division into application software and hardwareencapsulation and the respective physical interfaces, this achieves theresult that a large portion of the software modules may be used oncontrol units having different controllers.

[0009] Due to the physical interfaces, the software may be used oncontrollers of different performance levels (8-bit/10-bit A/Dconverter). In addition, there is the possibility of having theapplication software run on controllers from different manufacturers.

[0010] Hardware encapsulation delivers and/or receives physical valuesat the interface independently of the particular application. Therefore,there is the possibility of using the hardware encapsulationindependently of the application (engine control/transmissioncontrol/ABS/ . . . ) in different control units in which the samecontroller is used. The hardware encapsulation of a control unit, e.g.,of the EDC 16/7 generation, corresponds to a software abstraction layerwhich provides for a strict separation between hardware and applicationsoftware (e.g., driving software).

[0011] There is evidently no direct connection between the hardware andthe application software as shown in FIG. 2. To arrive at hardwareinformation, application functions (application software) must useeither the operating system or the hardware encapsulation.

[0012] The software concept of hardware encapsulation pursued hererequires complete encapsulation of all hardware functions in a leaninterface. According to this approach, direct hardware access is nolonger necessary for the application software because the hardwareencapsulation guarantees the transfer of physical values to a definedinterface, regardless of the signal source, as well as competition-freeelementary functionality. Therefore, the entire system becomes much morestable and more reliable.

[0013] On the basis of this concept, the application software becomes inprinciple independent of the hardware used. If the hardware propertieschange, they affect only the hardware encapsulation but not theapplication functions running on it.

[0014] Thus, ultimately the simple design of a project is facilitated byhardware adaptation without modifying the source code. This in turnincreases the serviceability of the system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 shows a control unit and the corresponding input and outputvariables.

[0016]FIG. 2 shows a division according to the present invention intoapplication software and hardware-dependent software by the operatingsystem and hardware encapsulation.

[0017]FIG. 3 shows a hardware encapsulation for modules selected as anexample.

DETAILED DESCRIPTION

[0018] The hardware encapsulation of the controller shown in FIG. 1 isfreely configurable with regard to the signals to be processed. I/Ooperations may be performed, e.g., via the multifunctional controllerpins and the hardware components DIO, TPU, QADC, SPI, etc.

[0019] The object of the developer in the area of hardware encapsulationis mainly to make available a broad spectrum of elementaryredundancy-free functionalities (signal analyses, diagnostic functions,etc.). These functionalities are implemented in the form of modules andare combined as a whole in a library, i.e., an archive (see FIG. 3).Individual modules are illustrated in FIG. 3 as an example.

[0020] The modules of the hardware capsule are defined logically andaccording to signal type. In addition, these modules are also orientedphysically.

[0021] The application software used in the next development stage onthis platform is now able to implement a wide variety of customerrequirements, always accessing this one archive. The modules that areused and/or the embedded control functions may be configured inaccordance with the given requirements.

[0022] For example, a control unit illustrated in FIG. 1 is used as thebasis for the hardware; it may be used, e.g., for engine control,transmission control, brake control, etc., in a motor vehicle.

[0023] With modern digital technology, there are a various possibilitiesfor control and regulation in a motor vehicle. Many influencingvariables may be included at the same time, so that the systems may beoperated optimally. The control unit receives electric signals from thesensors, analyzes them and calculates the triggering signals for thefinal controlling elements (actuators). The control program is stored ina memory. Execution of the program is handled by a microcontroller. Thecomponents of the control unit are called hardware.

[0024] In addition to the actuators as peripherals, sensors form theinterface between the vehicle and the control unit as the processingunit. Electric signals from the sensors are sent to the control unit viathe cable harness and plug connectors. These signals may have differentforms.

[0025] Analog input signals may assume any voltage level within acertain range. Examples of physical variables available as analogmeasured values include the air flow intake, battery voltage, intakemanifold pressure and charging pressure, cooling water temperature andintake air temperature. These variables are converted by analog-digitalconverters (A/D converters) in the microcontroller of the control unitinto digital values with which the microprocessor is able to perform itscalculations. The maximum resolution of these signals is in 5 mVincrements per bit (approx. 1000 increments).

[0026] Digital input signals have only two states, namely “high”(logic 1) and “low” (logic 0). Examples of digital input signals includeswitching signals (on/off) or digital sensor signals such as rotationalspeed pulses of a Hall sensor or a magnetoresistive sensor. Themicrocontroller processes these signals directly.

[0027] Pulse-shaped input signals from inductive sensors containinginformation regarding the rotational speed and reference mark areprocessed in a separate circuit part in the control unit. Interferencepulses are suppressed and the pulse-shaped signals are converted intosquare-wave digital signals.

[0028] Signal Preprocessing

[0029] Signal preprocessing is performed in blocks SA1, SA2 and/or SA3,depending on the type of input signal. The input signals are limited toallowed voltage levels using suppressor circuits. The useful signal isfiltered to remove most of the superimposed interference signals and itis adjusted to the allowed input voltage of the microcontroller (0through 5 V) by amplification if necessary. Depending on the integrationlevel, signal processing may be performed entirely or partially in thesensor.

[0030] Signal Processing

[0031] The control unit is the central switching unit for the functionsequences of the engine control. The control and regulation algorithmsare run in the microcontroller. The input signals supplied by thesensors and the interfaces to other systems are used as input variables.A plausibility check is also performed on them in the computer. Theoutput signals are calculated with the help of the program.

[0032] Microcontroller

[0033] The microcontroller is the central component of a control unit.It controls its function sequence. In addition to the CPU (centralprocessing unit, i.e., central computing unit), the microcontroller alsohas input and output channels, timer units, RAM, ROM, serial interfaces,and other peripheral subassemblies integrated on a microchip. A quartzcrystal forms the clock for the microcontroller.

[0034] Program Memory and Data Memory

[0035] The microcontroller requires a program—called the software—forthe calculations. The software is in the form of binary numerical valueswhich are organized into data records and stored in a program memory.The CPU reads these values, interprets them as commands and executes thecommands in order.

[0036] The program is stored on a read-only memory (ROM, EPROM or flashEPROM). In addition, variant-specific data (individual data,characteristic curves and characteristic maps) is also present in thismemory. This is invariable data which cannot be altered in operation ofthe vehicle. This data influences the control sequences and regulationsequences of the program.

[0037] The program memory may be integrated into the microcontroller andmay also be expanded in a separate component, depending on theapplication (e.g., through an EPROM or a flash EPROM).

[0038] ROM

[0039] Program memories may be implemented as ROM (read-only memory),whose content is established at the time of its manufacture and cannotbe altered thereafter. The memory capacity of the ROM integrated intothe microcontroller is limited. For complex applications, additionalmemory is necessary.

[0040] EPROM

[0041] EPROM (erasable programmable ROM) is erased by exposure to UVlight and is written again by a programming device. EPROM is usuallydesigned as a separate component. The CPU addresses the EPROM via theaddress bus/databus.

[0042] Flash EPROM (FEPROM)

[0043] Flash EPROM is often referred to simply as “flash.” It iselectrically erasable. Thus, the control units may be reprogrammed atthe customer service workshop without having to open them. The controlunit is therefore connected to the reprogramming station by a serialinterface.

[0044] If the microcontroller also contains a ROM, then programmingroutines for flash programming will be stored there. Flash EPROMs may inthe meantime also be integrated into a microchip together with themicrocontroller (after EDC 16).

[0045] Because of its advantages, flash EPROM has largely replaced thetraditional EPROM.

[0046] Variable Memory or Working Memory

[0047] Such read/write memory is necessary to store variable data(variables), e.g., computation values and signal values.

[0048] RAM

[0049] All instantaneous values are stored in RAM (random-access memory,i.e., read/write memory). For complex applications, the memory capacityof the RAM integrated into the microcontroller is not sufficient, so anadditional RAM module is necessary. It is connected to themicrocontroller by the address bus/databus. When the control unit isturned off by the ignition key, the RAM loses its entire data inventory(volatile memory).

[0050] EEPROM (Also Called E²PROM)

[0051] RAM loses its information when cut off from the voltage supply(e.g., when the ignition is turned off). Data that must not be lost(e.g., codes for the immobilizer and data in the fault memory) must bestored permanently in a permanent nonvolatile memory. EEPROM is anelectrically erasable EPROM in which each memory cell is erasableindividually, in contrast with flash EPROM. It is also designed for agreater number of write cycles. Thus, the EEPROM may be used as anonvolatile read-write memory.

[0052] ASIC

[0053] Because of the ever-increasing complexity of control unitfunctions, standard microcontrollers available on the market are notadequate. ASIC modules (application specific integrated circuit) are aremedy here. These ICs (integrated circuits) are designed andmanufactured according to the specifications of the entity responsiblefor the development of control units. They contain, for example, anadditional RAM as well as input and output channels, and they are ableto generate and output PWM signals (see below).

[0054] Monitoring Module

[0055] The control unit has a monitoring module. The microcontroller andthe monitoring module monitor one another through a “question andresponse cycle.” If a fault is detected, each is able to shut down theinjection independently of the other.

[0056] Output Signals

[0057] Using output signals, the microcontroller controls output stageswhich usually supply enough power for direct connection of finalcontrolling elements (actuators). It is also possible for the outputstage to control a relay. The output stages are protected from shortcircuits to ground or the battery voltage and from destruction due toelectric or thermal overload. These faults, as well as severed lines,are detected by the output stage IC, and reported to themicrocontroller.

[0058] Switching Signals Final controlling elements may be switched onand off using switching signals (e.g., engine fan).

[0059] PWM Signals

[0060] Digital output signals may be output as PWM signals. These“pulse-width-modulated” signals are square-wave signals having aconstant frequency but a variable on-time (FIG. 3). With these signals,final controlling elements (actuators) may be brought into any workingpositions (e.g., exhaust gas recirculation valve, fans, heatingelements, boost pressure controller).

[0061] Communication within the Control Unit

[0062] The peripheral components which support the microcontroller inits work must be able to communicate with it. This is done via theaddress bus/databus. The microcontroller outputs via the address bus,e.g., the RAM address whose memory content is to be read. Then the databelonging to this address is transmitted over the databus. Previousdevelopments in the automotive field have used an 8-bit bus structure,which means that the databus has eight lines over which 256 values maybe transmitted. Using the 16-bit address bus conventional with thesesystems, 65,536 addresses may be addressed. Complex systems todayrequire 16 bits or even 32 bits for the databus. To eliminate pins onthe assemblies, the databus and address bus may be combined in amultiplex system, i.e., transmission of the address and the data isstaggered using the same lines. For data that need not be transmitted sorapidly, (e.g., fault memory data), serial interfaces having only onedata line are used.

[0063] EOL Programming

[0064] The multiplicity of vehicle variants requiring different controlprograms and data records necessitates a method of reducing the types ofcontrol units required by the vehicle manufacturer. Therefore, thecomplete memory area of the flash EPROM may be programmed using theprogram and the variant-specific data record at the end of production ofthe vehicle (EOL, end-of-line programming). Another possibility is tostore multiple data variants (e.g., transmission variants) in thememory, a variant then being selected by coding at the end of theassembly line. This coding is stored in the EEPROM. According to FIG. 2,the actual hardware of the system thus presented has an interface SS1 tothe hardware encapsulation and an interface SS2 to the operating system.Due to the services in the hardware encapsulation or interface SS1itself mentioned above, the hardware encapsulation is then able to havereading and/or writing access to the hardware register in the hardware.

[0065] At interface SS5, the hardware encapsulation then exchangesphysical values with the application software, which yields theadvantages mentioned above.

[0066] The existing operating system is linked to the applicationsoftware via an interface SS3 and to the hardware encapsulation via SS4.At the same time, the operating system is connected to the actualhardware via interface SS2.

[0067] Due to this arrangement according to FIG. 2, thehardware-independent portion may be compiled in archives, i.e.,libraries, which may be reused, so that project-independent archiving inthe application software is obtained and may be placed on ahardware-dependent hardware encapsulation and/or a hardware-dependentoperating system, depending on the application, in different projects.

What is claimed is:
 1. A system for controlling operating sequences, inparticular in a motor vehicle, the system containing program modules forcontrolling the operating sequences, wherein the program modulesthemselves and/or the program modules in their totality are divided intoa hardware-dependent portion and a hardware-independent portion, so thatthe hardware-dependent portion and the hardware-independent portionexchange physical variables.
 2. The system as recited in claim 1,wherein the hardware-dependent portion of the program modules iscombined in a hardware encapsulation and is separated from thehardware-independent portion in such a way that the two portionsexchange physical variables over a first interface.
 3. The system asrecited in claim 2, wherein the hardware-independent portion also has asecond interface with an operating system in addition to the firstinterface with the hardware encapsulation.
 4. The system as recited inclaim 3, wherein the hardware encapsulation and the operating system areconnected via a third interface.
 5. The system as recited in claim 2,wherein the hardware encapsulation has an interface with the actualhardware of the system.